package com.nextel.project.pedido.mvc;

//import com.nextel.gui.items.ComboBoxCursorItem;
import com.nextel.project.Configuracion;
import com.nextel.project.stock.ControlStock;
import com.nextel.project.stock.bean.StockDetalleBean;
import com.nextel.ui.Key;
import com.nextel.ui.OListenerKey;
import com.nextel.ui.OSoftKey;
import com.nextel.ui.OUILook;
import com.nextel.ui.custom.OScrollListWrap;
import pe.com.nextel.idioma.IdiomaManager;
import pe.com.nextel.main.MVCAction;
import pe.com.nextel.util.ArrayList;
import pe.com.nextel.util.List;
import com.nextel.project.pedido.ControlPedido;

/**
 *

 */
public class MVCResultadoProductoOnline extends MVCAction implements OListenerKey {

    private OSoftKey cmdSigue,  cmdAtras;
    private boolean flagForm; // para que no presione dos veces al momento de buscar

    private OScrollListWrap lstMenu;
    private List lstProOnl;
    List listaDatos = new ArrayList();
    private byte busquedaMVC;

    public void setBusquedaMVC(byte tipo) {
        busquedaMVC = tipo;
    }

    protected void createView() {

        System.out.println("MVCResultadoProductoOnline");

        cmdSigue = new OSoftKey(Configuracion.BOTON_SEGUIR);
        cmdAtras = new OSoftKey(Configuracion.BOTON_ATRAS);
        lstProOnl = ControlStock.getInstance().curreListaPro;

        String texto = IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PRODUCTO);



        if (lstProOnl != null) {

            if (lstProOnl.size() > 1) {
                texto = IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PRODUCTOS);
            }

            formulario.setTitle(lstProOnl.size() + "  " + texto, OUILook.PLAIN_SMALL_TITLE);//"Producto"

        } else {
            formulario.setTitle("0" + "  " + IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PRODUCTO), OUILook.PLAIN_SMALL_TITLE);//"Producto"

        }
        formulario.addSoftKey(cmdSigue);
        formulario.addSoftKey(cmdAtras);

    }

    protected void createItems() {
        listaDatos.clear();
        flagForm = true;

        lstProOnl = ControlStock.getInstance().curreListaPro;

        if (lstProOnl == null) {
            lstProOnl = new ArrayList();
        }
        for (int i = 0; i < lstProOnl.size(); i++) {
            StockDetalleBean elem = (StockDetalleBean) lstProOnl.get(i);
            listaDatos.add(elem.nombreproducto);

        }

        lstMenu = new OScrollListWrap(formulario.getWidth(), formulario.getBodyHeight(),
                OUILook.PLAIN_SMALL_SOFTKEY, OUILook.PLAIN_SMALL_TEXT);

        lstMenu.setModeWrap(true);
        lstMenu.isWithBorder = false;
        lstMenu.populate(listaDatos);
        lstMenu.listenerKey = this;

        formulario.add(lstMenu);

        flagForm = true;

    }

    public StockDetalleBean getSeleccionadoFormaPago() {
        if (lstProOnl != null && lstProOnl.size() > 0) {
            return (StockDetalleBean) lstProOnl.get(lstMenu.getSelectedIndex());
        }
        return null;
    }

    public void performAction(OSoftKey c) {

        if (flagForm) {


            if (c == cmdSigue) {
                accionBotonSigue();
            } else if (c == cmdAtras) {
                flagForm = false;
                destroy();
                ControlStock.getInstance().setCurrent(ControlStock.getInstance().mvcProductoBusqueda);
            }

        }
    }

    public void performKey(int indx) {

        if (flagForm) {

            if (indx == Key.Key_OK) {
                accionBotonSigue();
            }

        }
    }

    public void accionBotonSigue() {
        flagForm = false;


        if (lstProOnl != null && lstProOnl.size() > 0) {
            ControlStock.getInstance().currentStock = getSeleccionadoFormaPago();
            destroy();

            if (busquedaMVC == ControlStock.getInstance().getBusquedaMVC()) {
                ControlStock.getInstance().setCurrent(ControlStock.getInstance().mvcStock);
            } else {
                ControlPedido.getInstance().agregarProductoXBusquedaStock(ControlStock.getInstance().currentStock.codigoproducto, ControlStock.getInstance().currentStock.stock);
            }

        }


    }
}
